node = g_object_new (GTK_TYPE_CSS_STYLE_PROPERTY,
"value-type", value_type,
- "affects-size", (affects & GTK_CSS_AFFECTS_SIZE) ? TRUE : FALSE,
+ "affects-size", (affects & (GTK_CSS_AFFECTS_CLIP | GTK_CSS_AFFECTS_SIZE)) ? TRUE : FALSE,
"affects-font", (affects & GTK_CSS_AFFECTS_FONT) ? TRUE : FALSE,
"animated", (flags & GTK_STYLE_PROPERTY_ANIMATED) ? TRUE : FALSE,
"inherit", (flags & GTK_STYLE_PROPERTY_INHERIT) ? TRUE : FALSE,
label-text-shadow-clipping.css \
label-text-shadow-clipping.ref.ui \
label-text-shadow-clipping.ui \
+ label-text-shadow-changes-modify-clip.css \
+ label-text-shadow-changes-modify-clip.ref.ui \
+ label-text-shadow-changes-modify-clip.ui \
label-width-chars-dont-shrink.ref.ui \
label-width-chars-dont-shrink.ui \
label-wrap-justify.ref.ui \
libreftest_la_LIBADD = $(gtk_reftest_LDADD)
libreftest_la_SOURCES = \
expand-expander.c \
+ label-text-shadow-changes-modify-clip.c \
set-default-direction.c \
statusbar-remove-all.c \
textview-border-windows.c \
--- /dev/null
+/*
+ * Copyright (C) 2014 Red Hat Inc.
+ *
+ * Author:
+ * Matthias Clasen <mclasen@redhat.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "config.h"
+
+#include <gtk/gtk.h>
+
+#include "gtk-reftest.h"
+
+static gboolean
+tick_callback_for_1_frame (GtkWidget *widget,
+ GdkFrameClock *frame_clock,
+ gpointer unused)
+{
+ reftest_uninhibit_snapshot ();
+
+ return G_SOURCE_REMOVE;
+}
+
+G_MODULE_EXPORT gboolean
+inhibit_for_1_frame (GtkWidget *widget)
+{
+ reftest_inhibit_snapshot ();
+ gtk_widget_add_tick_callback (widget,
+ tick_callback_for_1_frame,
+ NULL, NULL);
+
+ return FALSE;
+}
+
+static gboolean
+tick_callback_for_2_frames (GtkWidget *widget,
+ GdkFrameClock *frame_clock,
+ gpointer unused)
+{
+ inhibit_for_1_frame (widget);
+ reftest_uninhibit_snapshot ();
+
+ return G_SOURCE_REMOVE;
+}
+
+G_MODULE_EXPORT gboolean
+inhibit_for_2_frames (GtkWidget *widget)
+{
+ reftest_inhibit_snapshot ();
+ gtk_widget_add_tick_callback (widget,
+ tick_callback_for_2_frames,
+ NULL, NULL);
+
+ return FALSE;
+}
+
+static gboolean
+tick_callback_for_3_frames (GtkWidget *widget,
+ GdkFrameClock *frame_clock,
+ gpointer unused)
+{
+ inhibit_for_2_frames (widget);
+ reftest_uninhibit_snapshot ();
+
+ return G_SOURCE_REMOVE;
+}
+
+G_MODULE_EXPORT gboolean
+inhibit_for_3_frames (GtkWidget *widget)
+{
+ reftest_inhibit_snapshot ();
+ gtk_widget_add_tick_callback (widget,
+ tick_callback_for_3_frames,
+ NULL, NULL);
+
+ return FALSE;
+}
--- /dev/null
+@import "reset-to-defaults.css";
+
+@keyframes foo {
+ 0% { text-shadow: 20px 20px tomato; }
+ 100% { text-shadow: 20px 20px tomato; }
+}
+
+GtkLabel {
+ font-size: 40px;
+ animation-name: foo;
+ animation-duration: 100s;
+ animation-timing-function: linear;
+ animation-delay: 1ms;
+}
+
+#reference {
+ animation: initial;
+ text-shadow: 20px 20px tomato;
+}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.18.1 -->
+<interface>
+ <requires lib="gtk+" version="3.12"/>
+ <object class="GtkWindow" id="window1">
+ <property name="width_request">500</property>
+ <property name="height_request">100</property>
+ <property name="can_focus">False</property>
+ <property name="type">popup</property>
+ <child>
+ <object class="GtkLabel" id="label1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Hello World</property>
+ <style>
+ <class name="reference"/>
+ </style>
+ </object>
+ </child>
+ </object>
+</interface>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.18.1 -->
+<interface>
+ <requires lib="gtk+" version="3.12"/>
+ <object class="GtkWindow" id="window1">
+ <property name="width_request">500</property>
+ <property name="height_request">100</property>
+ <property name="can_focus">False</property>
+ <property name="type">popup</property>
+ <signal name="map" handler="reftest:inhibit_for_3_frames" swapped="no"/>
+ <child>
+ <object class="GtkBox" id="box2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkLabel" id="label1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Hello World</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+</interface>